package com.lovemanai.tools.common;

import java.util.Map;
import java.util.UUID;

import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;

public class CommonUtils {
	/**
	 * 生成一个不重复的字符串
	 * @return 随机字符串
	 */
	public static String uuid() {
		return UUID.randomUUID().toString().replace("-", "").toUpperCase();
	}
	
	/**
	 * 将Map对象转换成指定对象
	 * @param map 待转换map集合
	 * @param class 目标类型
	 * @return 转换后的对象
	 */
	@SuppressWarnings("rawtypes")
	public static <T> T toBean(Map map, Class<T> clazz) {
		
		try {
			
			/*
			 * 1.通过参数clazz创建实例
			 * 2.使用BeanUtils.populate把map的数据封装到bean中
			 */
			
			T bean = clazz.newInstance();
			ConvertUtils.register(new DateConverter(), java.util.Date.class);
			BeanUtils.populate(bean, map);
			return bean;
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		
		
	}
}
